There are many networking scenarios that require dissemination of information across the network. In addition, there are many approaches to disseminating information across the network. Many solutions use a centralized architecture, whereby a central component distributes information to each interested node on a one-on-one basis. Publish/subscribe techniques are a variation of solutions using a centralized architecture.
More recently, information dissemination solutions using decentralized techniques have emerged. For example, ad hoc networks and sensor networks employ decentralized techniques such as gossip-based protocols, for example, to disseminate information. Gossip-based protocols represent a departure from more conventional methods of information dissemination. Rather than relying on mechanisms that are structurally deterministic and involve very structured communication of information, gossip-based protocols rely essentially on chance interactions between nodes to disseminate information. Gossip-based protocols facilitate information dissemination in a non-deterministic way based on random interactions between nodes. Thus, the dissemination of information resembles the spread of a virus across a population as opposed to an organized campaign. Gossip-based protocols have proven no less effective than deterministic and structured dissemination solutions.
Gossip-based protocols have advantages over deterministic and structured dissemination solutions. Gossip-based protocols have a high degree of robustness, a relatively small footprint, and the randomized component allows for discovery of the network topology and dissemination paths across the network. For example, the footprint of a gossip-based protocol is relatively small in comparison to the footprints of other techniques. Additionally, there is no single bottleneck or point-of-failure, such as a centralized server, on which communication in a centralized architecture depends. Accordingly, information dissemination in a decentralized, gossip-based system is robust because it is not overly affected by individual node failures.
However, there are some disadvantages to using gossip-based protocols. For example, gossip-based protocols tend to be somewhat “wasteful” in general because the same content is forwarded many times to nodes that have already received the information (i.e., similarly to a virus being transmitted to an individual already infected by the virus). In addition, gossip-based protocols are obtuse to the underlying network topology, treating all neighboring nodes the same. Further, gossip-based protocols lack guarantees that the information will eventually be delivered to any given node. Gossip-based protocols also tend to impose propagation delays, which can at times be substantial. Despite the disadvantages, there are many networking scenarios that involve the dissemination of information where it is perfectly acceptable for information dissemination to be performed without any guarantees of delivery to any given node, as long as there is a high likelihood that most nodes eventually receive the information (which is practically a given in scenarios with high networking redundancy).
In reality, some links and nodes are more critical than others for disseminating information. If the more critical links and nodes were exploited, gossip-based protocols would be even more robust and efficient, e.g., by ensuring that information is always communicated across links more critical to information dissemination. Thus, an information dissemination technique that exploits the advantages of gossip-based protocols while improving robustness and efficiency is desirable.